地图先验的花式玩法?元戎启行提出PriorMapNet:暴涨3个点!
点击下方卡片,关注“自动驾驶之心”公众号
今天自动驾驶之心为大家分享北理工和元戎启行的工作PriorMapNet!问鼎nuScenes和Argoverse2。如果您有相关工作需要分享,请在文末联系我们!
自动驾驶课程学习与技术交流群事宜,也欢迎添加小助理微信AIDriver004做进一步咨询
论文作者 | Rongxuan Wang等
编辑 | 自动驾驶之心
写在前面 & 笔者的个人理解
北理工和元戎启行的工作PriorMapNet!在线高精地图构建对于自动驾驶中的后续预测和规划任务至关重要。遵循MapTR范式,最近的工作取得了不错的结果。然而在主流方法中,参考点是随机初始化的,导致预测和GT之间的匹配不稳定。为了解决这个问题,我们引入PriorMapNet来增强在线高精地图的构建。具体来说提出了PPS解码器,它为参考点提供了位置和结构先验。根据数据集中的地图元素进行拟合,先验参考点降低了学习难度,实现了稳定的匹配。此外,我们提出了PF编码器,利用BEV特征先验来增强图像到BEV的转换。此外,我们提出了DMD交叉注意,它分别沿多尺度和多样本解耦交叉注意力,以提高效率。我们提出的PriorMapNet在nuScenes和Argoverse2数据集上的在线矢量化高精地图构建任务中实现了最先进的性能。
总结来说,本文的主要贡献如下:
我们通过将特征、位置和结构先验集成到编码器和解码器中,引入了一种新的基于先验的在线高精地图构建框架。 提出了DMD交叉注意,它分别沿多尺度和多样本解耦交叉注意力,以提高效率。 在nuScenes和Argoverse2数据集上的在线矢量化高精地图构建中实现了SOTA性能,展示了高性能和泛化能力。
相关工作回顾
在线高精地图
与传统的离线高精地图构建方法不同,最近的研究使用车载传感器构建在线高精地图。早期的方法将地图构建作为分割任务,预测BEV空间中的光栅化地图。HDMapNet通过后处理将这些光栅化地图进一步转换为矢量化地图。
VectorMapNet引入了第一个端到端的矢量化地图模型,使用DETR解码器检测地图元素,并使用自回归变换器优化结果。因此,MapTR和MapTRv2设计了一种具有实例点级分层查询嵌入方案的单阶段地图构建范式。后来提出的主流方法遵循了这一流程,改进的重点是增强查询和外部功能的交互。InsMapper和HIMap进一步探索了实例和点之间的相关性,并改进了查询中的交互。MapQR在实例级查询中隐式编码点级查询,并嵌入查询位置,如Conditional DETR。尽管有上述发展,但这些方法随机初始化参考点,导致匹配不稳定。为了解决这个问题,我们的PriorMapNet引入了先验来增强匹配稳定性。
高精地图先验的引入
先验为地图构建提供了有效的初始化,降低了模型学习的难度。我们将先验分为两类:语义先验和位置和结构先验。对于先验语义,MGMap提出了Mask Active Instance(MAI),它学习地图实例分割结果,并为实例查询提供语义先验。Bi-Mapper设计了一个双流模型,使用全局和局部视角的先验来增强语义图学习。对于先验位置和结构,Topo2D(Li等人,2024a)使用2D车道检测结果作为先验来初始化查询。SMERF和P-MapNet引入了标准地图(SDMap)作为地图构建的位置和结构先验。然而,上述方法依赖于额外的模块,增加了计算复杂度。相比之下,PriorMapNet使用离线聚类地图元素作为位置和结构先验,在不增加额外计算消耗的情况下提高了性能。
地图构建中的Image-to-BEV Encoder
地图构建通常依赖于BEV特征,该特征由编码器从图像中转换而来。编码器有两种类型:自下而上和自上而下。自下而上的编码器将图像提升到3D,并使用voxel pooling生成BEV特征。自顶向下编码器生成包含3D信息的BEV查询,并使用变压器提取图像特征以进行BEV查询。然而,由于查询是随机初始化的,单层编码器的精度较低,多层编码器带来了更高的计算复杂度。为了克服这些局限性,我们使用先验特征增强了BEV查询。
PriorMapNet方法详解
概览
PriorMapNet网络结构如图3所示。主要包含四个部分Backbone、PF-Encoder、PPS-Decoder和Prediction Output。
Decoder with Prior Position and Structure
PPS-Decoder如图4c所示。结合随机初始化参考点的MapTRv2和仅提供语义先验而不提供位置信息的MGMap,PPS-Decoder通过位置和结构先验增强参考点,提供“good anchor”来提高准确性和匹配稳定性。
PPS-Decoder包含多个级联的解码器层,用于迭代地优化分层查询和参考点。分层查询由实例级查询和点级查询组成,它们通过broadcasting组合在一起:
参考点用先前的位置和结构进行初始化。为了拟合数据集中地图元素的分布,我们使用K-Means对地图元素进行聚类,并提取第一个Npri元素的位置信息,如图2所示。聚类和抽象是由离线完成的,确保在推理过程中没有额外的计算负担。在训练和推理过程中,一些参考点获得了拟合的位置和结构先验(称为先验参考点,而其余的参考点仍然来自可学习的参数(称为可学习参考点,参考点的组合集表示为R)。
为了嵌入查询位置,参考点在DAB-DETR之后用正弦位置进行编码。查询位置嵌入实现如下:
线性层的参数不在解码器层之间共享。PE(·)在坐标上单独计算,位置嵌入沿着特征通道连接:
参考点和位置嵌入在PPS解码器层之间进行更新。在每一层中,自我关注和交叉关注机制使用以下输入进行QKV和参考点:
先验参考点适合数据集中地图元素的位置和结构分布,这有助于查询专注于学习与参考点的偏移。此外,我们维护了可学习参考点,以捕获和表示与典型位置和结构模式不同的地图元素。自注意力使先前参考点和可学习参考点之间能够相互作用,减少冗余检测,提高整体检测精度。
Encoder with Prior Feature
PF编码器通过BEV特征先验增强了图像到BEV的转换。PF编码器建立在自上而下编码器(如BEVFormer和GKT)的基础上,利用BEV特征作为查询,通过交叉注意力提取相关图像特征。
我们首先使用LSS将图像特征转换为初始化的BEV特征,然后将其用作BEV查询先验,在单层BEVFormer编码器中进行优化。在MGMap之后,BEV特征通过EML Neck下采样到多尺度。
为了更好地聚合来自同一映射元素的特征,有必要吸收同一实例的嵌入并区分不同实例的嵌入。因此,我们引入了地图元素的判别损失,以使相同的立场更接近,并进一步分离不同的实例:
在PPS解码器的交叉注意力层,查询加权样本BEV特征。PF编码器使查询能够有效地聚合与同一地图元素相关的特征,同时区分不同的地图实例,提高地图构建的准确性。
Decoupled Multi-Scale Deformable Attention
为了解决多尺度可变形交叉注意力(MSDA)的计算复杂性,我们提出了DMD交叉注意机制,以沿多尺度和多样本解耦交叉注意力,如图5b所示。
在vanilla MSDA中,每个查询都与M尺度BEV特征交互,并在每个尺度上采样N个点,其计算复杂度为O(M×N):
为了提高效率,DMD交叉注意力机制将香草MSDA过程分为两个阶段:
多尺度阶段在M个尺度上进行交叉注意力,每个尺度采样一个点。多采样阶段使用多尺度阶段的输出,并专注于最大尺度特征来采样N个点。DMD交叉注意将计算复杂度降低到O(M,N),并实现了比普通MSDA更高的性能。
实验分析
数据集和指标
为了验证我们提出的方法PriorMapNet的有效性,我们在广泛使用的nuScenes数据集和Argoverse 2数据集上对其进行了评估,并将其与SOTA方法进行了比较。
nuScenes数据集是在线矢量化高精地图构建的标准基准,包含由六个多视图相机和激光雷达捕获的1000个驾驶场景,其中2D矢量化地图元素作为地面实况。Argoverse 2专为自动驾驶的感知和预测研究而设计,包含1000个场景,每个场景15秒。由七个多视图相机捕获的3D矢量化地图元素作为GT提供。
根据之前的研究,我们评估了三类地图元素的性能:车道分隔带、人行横道和道路边界。PriorMapNet的性能使用平均精度(AP)指标进行评估,如果预测与其GT之间的腔室距离在0.5、1.0和1.5米的阈值范围内,则预测被视为TP。
主要结果
nuScenes上的结果。我们在表1中报告了nuScenes秋季集的定量结果。在相机模式下,PriorMapNet超越了之前的SOTA方法,与我们的基线MapTRv2相比,mAP提高了6.2%。在一个RTX 4090 GPU上,PriorMapNet的推断速度为每秒13.9帧(FPS)。此外,在相机和激光雷达融合模式下,PriorMapNet达到72.9%的mAP和7.5 FPS,展现出强大的泛化能力。定性结果如图6所示,进一步说明PriorMapNet取得了改进的结果。补充材料中显示了更多定性结果。
Argoverse 2上的结果。我们在表2中报告了Argoverse 2 val集的定量结果。Argoverse 2提供3D地图注释,允许对2D和3D地图元素进行预测。PriorMapNet在两个维度上都超越了之前的SOTA方法,2D地图元素的mAP为72.0%,3D地图元素的mAP为69.9%,推理速度为12.6 FPS。实验结果证明了我们方法的可推广性。
扩大BEV范围的结果。我们在nuScenes验证集上对扩大的BEV范围进行模型训练和评估,如表3所示。BEV网格的尺寸保持在[0.3m,0.3m]。为了验证我们方法的鲁棒性,我们相应地增加了地图元素的先验聚类和位置范围。其他设置与原始模型保持一致。实验结果表明,PriorMapNet在扩大BEV范围方面保持了优势。值得注意的是,在100×50m的范围内,我们的方法形成了SOTA方法SQD MapNet,该方法集成了stream策略。
消融实验
结论
本文引入PriorMapNet,利用先验知识增强在线矢量化高精地图构建。为了解决不稳定匹配的问题,我们提出了PPS解码器,该解码器提供了从数据集中预先聚类的位置和结构参考点。为了有效地嵌入边界元特征,我们提出了PF编码器,该编码器利用边界元特征先验增强图像到边界元的转换,并利用判别损失来改善映射元素嵌入的聚合。为了降低计算复杂度,我们提出了DMD交叉注意,它分别沿多尺度和多样本执行交叉注意力。我们提出的PriorMapNet在nuScenes和Argoverse2数据集上实现了最先进的性能。局限性和未来的工作。尽管我们开发了在线矢量化高精地图构建,但在未来的工作中需要解决几个局限性。首先,我们的地图元素先验只包含位置信息,缺乏语义信息,这限制了查询的交互和优化。其次,我们的方法仅依赖于单帧传感器输入,构建时间和空间连续地图元素的表示。
参考
[1] PriorMapNet: Enhancing Online Vectorized HD Map Construction with Priors
投稿作者为『自动驾驶之心知识星球』特邀嘉宾,欢迎加入交流!重磅,自动驾驶之心科研论文辅导来啦,申博、CCF系列、SCI、EI、毕业论文、比赛辅导等多个方向,欢迎联系我们!
BEV感知、BEV模型部署、BEV目标跟踪、毫米波雷达视觉融合、多传感器标定、多传感器融合、多模态3D目标检测、车道线检测、轨迹预测、在线高精地图、世界模型、点云3D目标检测、目标跟踪、Occupancy、cuda与TensorRT模型部署、大模型与自动驾驶、Nerf、语义分割、自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习)
② 国内首个自动驾驶学习社区
国内最大最专业,近3000人的交流社区,已得到大多数自动驾驶公司的认可!涉及30+自动驾驶技术栈学习路线,从0到一带你入门自动驾驶感知(2D/3D检测、语义分割、车道线、BEV感知、Occupancy、多传感器融合、多传感器标定、目标跟踪)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、大模型、端到端等,更有行业动态和岗位发布!欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频
③【自动驾驶之心】技术交流群
自动驾驶之心是首个自动驾驶开发者社区,聚焦感知、定位、融合、规控、标定、端到端、仿真、产品经理、自动驾驶开发、自动标注与数据闭环多个方向,目前近60+技术交流群,欢迎加入!扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)